package com.fulu.game.bi.common.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

import javax.mail.internet.MimeMessage;
import java.util.Date;

@Service
@Slf4j
public class EmailService {
    @Autowired
    private JavaMailSender javaMailSender;

    /**
     * 普通邮件发送
     */
    public void sendHtmlMail(String toEmailAddr, String content) {
        try {
            // 构建一个邮件对象
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true);
            // 设置邮件主题
            message.setSubject("皮皮控制台导出通知邮件");
            // 设置邮件发送者，这个跟application.yml中设置的要一致
            message.setFrom("pipi_export@qq.com");
            // 设置邮件接收者，可以有多个接收者，中间用逗号隔开，以下类似
            // message.setTo("10*****16@qq.com","12****32*qq.com");
            message.setTo(toEmailAddr);
            // 设置邮件发送日期
            message.setSentDate(new Date());
            String html = "<html>"
                    + "<body>"
                    + "<a href=\"" + content + "\">点击下载</a>"
                    + "</body>"
                    + "</html>";
            // 设置邮件的正文
            message.setText(html, true);
            // 发送邮件
            javaMailSender.send(mimeMessage);
        } catch (Exception e) {
            log.error("发送邮件失败：{}",e.getMessage(),e);
        }
    }


    /**
     * 普通邮件发送
     */
    public void sendSimpleMail(String toEmailAddr, String content) {
        // 构建一个邮件对象
        SimpleMailMessage message = new SimpleMailMessage();
        // 设置邮件主题
        message.setSubject("皮皮控制台导出通知邮件");
        // 设置邮件发送者，这个跟application.yml中设置的要一致
        message.setFrom("pipi_export@qq.com");
        // 设置邮件接收者，可以有多个接收者，中间用逗号隔开，以下类似
        // message.setTo("10*****16@qq.com","12****32*qq.com");
        message.setTo(toEmailAddr);
        // 设置邮件发送日期
        message.setSentDate(new Date());
        // 设置邮件的正文
        message.setText(content);
        // 发送邮件
        javaMailSender.send(message);
    }
}
